
/**************************************************************************/
/**************************************************************************/
/**								         **/
/**  THIS IS A SPECIAL TEST FOR CHECKING LEDS USING FEASA LED ANALYSER   **/
/**  WRITTEN FOR GR228XA ("STINGER") TEST SYSTEM                         **/
/**  OPERATING SYSTEM WINDOWS-NT 				         **/
/**  ONLY RS232 INTERFACE  USED					         **/
/**									 **/
/**************************************************************************/
   
   

/** DECLARES FOR FEASA LED-TEST - SET INTO DECLARE SECTION **/

DECLARE CSTRING LED_RESULT(21);
DECLARE CSTRING COLOR_RESULT(3);
DECLARE CSTRING INTENSITY_RESULT(5);
DECLARE CSTRING CHANNEL(2);
DECLARE FILE FEASALOG;
DECLARE COLORVALUE;
DECLARE INTENSITYVALUE;



FEASA:
WRITE '%033%:M*************************************************%033%:N%NL%';
WRITE '%033%:M**  >>>>   LED COLOUR-TEST              <<<<   **%033%:N%NL%';
WRITE '%033%:M**  >>>>   USING FEASA LED ANALYSER     <<<<   **%033%:N%NL%';
WRITE '%033%:M*************************************************%033%:N%NL%';



SET_FEASA:SET PIO(1) RLY(CLOSE 13); /* SWITCH FEASA-MODUL ON */
	
	 CLEAR MUX; CLEAR SCAN ;    /* MUX SETTING FOR SWITCHING LEDS ON */	
         SET MUX AT (CHA=DCSIOUT:
                     CHB=REFCONN:
	      	     REF=DCSILO,ANAGND);


/*** LED D411 RED - FEASA-CHANNEL 1 ***/

SET_D411_CPU:	
	SET SCAN AT (79:125);
	SET DCI DCS I=10M V=3.0 DLY=20M;	/* LED D411 ON */
	                

LED_D411_CPU:
	CALL SPAWN(ARG1='pcapt.exe');	
 	OPEN ID=FEASALOG
 	DEV='la_data.txt' MODE='READ';		/* READ FEASA RESULT FILE */
 FOR I=1 TO 6 DO [
 	READ ID=FEASALOG'%R%'LED_RESULT;	/* SEARCH CHANNEL */
	LET CHANNEL=SUBSTR(LED_RESULT,1,2);
	IF CHANNEL='01' THEN	[

 LET COLOR_RESULT=SUBSTR(LED_RESULT,4,3);       /* READ RED RESULT */
 READ ID=COLOR_RESULT'%F%'COLORVALUE;	        /* CONVERT INTO FLOATING POINT */
 LET INTENSITY_RESULT=SUBSTR(LED_RESULT,16,5);  /* READ INTENSITY RESULT */
 READ ID=INTENSITY_RESULT'%F%'INTENSITYVALUE;   /* CONVERT INTO FLOATING POINT */
 CLOSE ID=FEASALOG;
 TEST ARITH COLORVALUE LO=200 HI=255 FAIL(6) [  /* TEST RED COLOR VALUE is greater than 200 */

      WRITE ID=MESFILE 'LED D411  %NL%';	 
      WRITE ID=MESFILE 'RED COLOR VALUE %NL%';
      WRITE ID=MESFILE '**  EXPECTED: 200 - 255  %NL%';
      WRITE ID=MESFILE '**  ACTUAL : %4.3F% V%NL%' COLORVALUE;
      WRITE ID=MESFILE '******************************%NL%';
      BRANCH END_D411_CPU;
      
      				];
TEST ARITH INTENSITYVALUE LO=10000 HI=18000 FAIL(6) [/* TEST RED INTENSITY VALUE */

      WRITE ID=MESFILE 'LED D411  %NL%';
      WRITE ID=MESFILE 'RED INTENSITY VALUE   %NL%';
      WRITE ID=MESFILE '**  EXPECTED: > 10000  %NL%';
      WRITE ID=MESFILE '**  EXPECTED: < 18000  %NL%';
      WRITE ID=MESFILE '**  ACTUAL : %4.3F% V%NL%' INTENSITYVALUE;
      WRITE ID=MESFILE '******************************%NL%';
      BRANCH END_D411_CPU;
      
      				];
      
 WRITE '%NL%%NL%LED D401 COLOR AND INTENSITY OK %NL%';
 BRANCH END_D411_CPU;
					];
					  ];

    
      WRITE ID=MESFILE 'FILE NOT FOUND   %NL%';        
      WRITE ID=MESFILE '**  LA_DATA.TXT  %NL%';
      WRITE ID=MESFILE '******************************%NL%';
      BITSET(FAIL,7);



END_D411_CPU:	SET PIO(1) RLY(OPEN 13); /* SWITCH FEASA-MODUL OFF */
		SET DCI DCS I=0 V=3 ; 
		CLEAR SCAN;
		CLEAR MUX;


